{
	//Set
	let set=new Set();
	set.add(1);
	set.add(2);
	set.add(1);
	console.log(set); //{1,2}
	let arr=[1,2,3,1,2];
	//数组构造Set
	let set01=new Set(arr);
	//Set内没有重复元素,天生去重
	console.log(set01);//{1,2,3}
}
{
	let arr=[1,2,3,'a']
	let set=new Set(arr);
	//是否含有
	console.log(set.has(1));//true
	//删除
	console.log(set.delete(1));//true
	//清空集合
	console.log(set.clear(),set);// {}
}
{
	let arr=[1,2,3,'a']
	let set=new Set(arr);
	//遍历:set中key和value相同都是元素
	for(let key of set.keys()){
		console.log(key)// 1,2,3,a
	}
	for(let value of set.values()){
		console.log(value)
	}
	for(let [key,value] of set.entries()){
		console.log(key,value)//相同
	}
	set.forEach(function(item){
		console.log(item)//1,2,3,a
	})
}
{
	let map=new Map();
	//map的key可以是任何数据类型
	let arr=[123];
	map.set(arr,123);
	console.log(map,map.get(arr))//{Array(1) => 123}    123
	//参数是数组,数组中必须还是数组,[key,value]形式
	let map1=new Map([[1,1],[2,2],[3,3]]);
	console.log(map1.size) //3
}
{
	//map与数组增删改查比较
	let map=new Map();
	let arr=[];
	//增
	map.set('t',1);
	arr.push({t:1})
	//查
	let findmap=map.has('t');
	//find() 方法返回传入一个测试条件（函数）符合条件的数组第一个元素。
	//find() 方法为数组中的每个元素都调用一次函数执行
	let findarr=arr.find(item=>item.t);
	console.info("-------",findmap,findarr)//true  {t:1}
	//改
	map.set('t',2);
	arr.forEach(item=>item.t?item.t=2:'');
	//删
	map.delete('t')
	let index=arr.findIndex(item=>item.t);
	arr.splice(index,1)
	
}
